import cryptoJs from 'crypto-js';

/**
 * AES-256-CBC 解密（IV为16字节0）
 * @param {string} keyHex - 64字符hex格式密钥（256位）
 * @param {string} message - Base64格式密文
 * @returns {string} - 解密后的明文
 */
export const decryptByAes256CBC = function (keyHex, message) {
    const key = cryptoJs.enc.Hex.parse(keyHex);
    const iv = cryptoJs.enc.Hex.parse('00000000000000000000000000000000'); // 16字节 0

    const decrypted = cryptoJs.AES.decrypt(message, key, {
        iv,
        mode: cryptoJs.mode.CBC,
        padding: cryptoJs.pad.Pkcs7,
    });

    return decrypted.toString(cryptoJs.enc.Utf8);
};

export default {
    decryptByAes256CBC,
};
